package com.cskaoyan.singleton;

/**
 * 单例 --> 获得该类型的实例始终是同一个
 * @author stone
 * @date 2021/12/23 09:50
 */
public class MySingleton2 {

    // 静态成员变量直接实例化是什么时候执行的 → 类加载的时候执行的
    // 就是在第一次返回实例之前
    private static MySingleton2 mySingleton;
    // 静态代码块也是类加载的时候执行 --> 只执行一次
    static {
        mySingleton = new MySingleton2();
    }

    private MySingleton2() {
    }

    public static MySingleton2 getInstance() {
        //类中的静态方法里能否使用其私有的构造方法 → 可以

        // 实例化的代码只执行一次，第一次返回实例之前
        //MySingleton mySingleton = new MySingleton();
        return mySingleton;
    }
}
